package org.xujin.book.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.xujin.book.po.Student;
/**
 * 
* @ClassName: Insert
* @Description: TODO
* @author Xu,Jin Software_King@qq.com
* @Site:http://www.xujin.org
 */

public class Insert {
	public static void main(String[] args) { 
		/*创建一个Configuration()的实例，调用configure()方法加载hibernate.cfg.xml配置文件
		 * 如果hibernate.cfg.xml没有放在默认的位置:classpath下
		 * 举例：Configuration conf = new Configuration().configure("/hibernate.cfg.xml配置文件的路径/hibernate.cfg.xml");
		 * 
		 * */
		Configuration conf = new Configuration().configure();
		/*conf调用buildSessionFactory()方法创建SessionFactory,相当于创建数据源*/
		SessionFactory sf = conf.buildSessionFactory();
		/*打开会话*/
		Session session = sf.openSession();
		/*创建一个student的对象，并提调用get()和set()方法*/
		Student stu = new Student();
		stu.setStuno("2010023012");
		stu.setName("李明");
		stu.setAge(22);
		/*Session事物不是自动提交的，对数据库进行crude(增删改查)操作时，默认情况下要开启一个事务
		 * 
		 * */
		Transaction tran = session.beginTransaction();
		/*调用save()方法插入数据，save()方法对应着相应sql语句的执行*/
		session.save(stu);
		/*事务提交*/
		tran.commit();
		//关闭session
		session.close();
	}
}
